package io.github.talelin.latticy.service;

import io.github.talelin.latticy.vo.PageResponseVO;
import io.github.talelin.latticy.vo.SalesPurchaseStatsVO;
import io.github.talelin.latticy.vo.SalesPurchaseRecordVO;
import io.github.talelin.latticy.dto.SalesPurchaseStatsQueryDTO;

import java.util.Map;

/**
 * 销售购买统计服务接口
 */
public interface SalesPurchaseStatsService {

    /**
     * 获取销售购买统计数据
     */
    SalesPurchaseStatsVO getStats(String startDate, String endDate);

    /**
     * 获取销售购买记录列表
     */
    PageResponseVO<SalesPurchaseRecordVO> getRecords(SalesPurchaseStatsQueryDTO queryDTO);

    /**
     * 获取销售趋势数据
     */
    Map<String, Object> getSalesTrend(String type, String startDate, String endDate);

    /**
     * 获取购买趋势数据
     */
    Map<String, Object> getPurchaseTrend(String type, String startDate, String endDate);

    /**
     * 导出统计数据
     */
    String exportData(SalesPurchaseStatsQueryDTO queryDTO);

    /**
     * 获取统计概览
     */
    Map<String, Object> getOverview(String period);

    /**
     * 测试数据库连接
     */
    Map<String, Object> testDatabaseConnection();

    /**
     * 测试已付款订单查询
     */
    Map<String, Object> testPaidOrdersQuery();
} 